<template>
<div class="main-login">
  <el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-position="left" label-width="0px" class="demo-ruleForm login-container">
    <h3 class="title">软件部 OA 办公系统</h3>
    <el-form-item prop="account">
      <el-input type="text" v-model="ruleForm2.account" auto-complete="off" placeholder="账号"></el-input>
    </el-form-item>
    <el-form-item prop="checkPass">
      <el-input type="password" v-model="ruleForm2.checkPass" auto-complete="off" placeholder="密码"></el-input>
    </el-form-item>
    <el-checkbox v-model="checked" @change='change' class="remember">记住密码</el-checkbox>
    <el-form-item style="width:100%;">
      <el-button  type="primary" style="width:100%;" @click.native.prevent="handleSubmit2" :loading="logining">登录</el-button>
      <!--<el-button  @click.native.prevent="handleReset2">重置</el-button>-->
    </el-form-item>
    <div v-if="sys_error" class="err-msg">{{sys_error}}</div>
  </el-form>
</div>
</template>

<script>
  import { mapState, mapMutations, mapActions } from 'vuex'
  import Cookies from 'js-cookie' 
  export default {
    data() {
      return {
        logining: false,
        ruleForm2: {
          account: '',
          checkPass: ''
        },
        rules2: {
          account: [
            { required: true, message: '请输入账号', trigger: 'blur' }
          ],
          checkPass: [
            { required: true, message: '请输入密码', trigger: 'blur' }
          ]
        },
        sys_error: '',
        checked: false
      };
    },
    computed: {
        ...mapState({
            lang: state => state.lang
        })
    },
    methods: {
      ...mapMutations({
          toggleLang: 'changeLang'
      }),
      ...mapActions({
          requestLogin: 'user/requestLogin'
      }),
      change(){
        if(this.checked){
          localStorage.setItem('user', JSON.stringify(this.ruleForm2));
        }else{
          localStorage.removeItem('user');
        }
      },
      handleReset2() {
        this.$refs.ruleForm2.resetFields();
      },
      handleSubmit2() {
        this.$refs.ruleForm2.validate((valid) => {
          if (valid) {
            this.logining = true;
            var loginParams = {
                "appKey": "string",
                "appSecrt": "string",
                "digest": "string",
                "params": {
                  "password": this.ruleForm2.checkPass,
                  "remember": "string",
                  "userName": this.ruleForm2.account
                },
                "source": "string",
                "timestamp": "string"
            };
            this.$http.post("/proxy/login",loginParams)
            .then(
                (response)=>{
                    console.log(response);
                    Cookies.set('token','111');
                    sessionStorage.setItem('menu', JSON.stringify(response.data.data));
                    this.$router.push('home')
                },
                (error)=>{
                    console.log(error);
                    this.$message({
                      message: '请求失败！',
                      type: 'error'
                    });
                }
            );

            // this.requestLogin(loginParams).then(res => {
            //   this.logining = false;
            //   console.log(res)
            //   let [code,obj] = res
            //   if (code !== obj.code) {
            //     this.$message({
            //       message: obj.msg,
            //       type: 'error'
            //     });
            //   } else {
            //     sessionStorage.setItem('user', JSON.stringify(loginParams));
            //     this.$router.push('home')
            //   }
            // }).catch(err => {
            //     this.sys_error = err.response.data
            // })
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      }
    },
    mounted() {
      // 从内存取用户信息
      if(localStorage.getItem('user')){
        let params = JSON.parse(localStorage.getItem('user'))
        this.ruleForm2.account = params.account;
        this.ruleForm2.checkPass = params.checkPass;
      }
    }
  }

</script>

<style lang="scss" scoped>
  .main-login{
    margin: 0 auto;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #2d3a4b;
  }
  .login-container {
    box-shadow: 0 0px 8px 0 rgba(0, 0, 0, 0.06), 0 1px 0px 0 rgba(0, 0, 0, 0.02);
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    background-clip: padding-box;
    margin: 150px auto;
    width: 450px;
    padding: 35px 35px 15px 35px;
    background: #fff;
    border: 1px solid #eaeaea;
    box-shadow: 0 0 25px #cac6c6;
    .title {
      margin: 0px auto 40px auto;
      text-align: center;
      color: #505458;
    }
    .remember {
      margin: 0px 0px 35px 0px;
    }
  }
</style>